package com.boot.modules.profile.service;

import com.boot.common.result.Result;
import com.boot.system.entity.SysUser;
import org.springframework.web.multipart.MultipartFile;

import java.util.Map;

/**
 * 个人信息服务
 */
public interface ProfileService {

    /**
     * 根据用户名查询用户
     * @param username 用户名
     * @return 用户信息
     */
    SysUser findByUsername(String username);

    /**
     * 根据邮箱查询用户
     * @param email 用户名
     * @return 用户信息
     */
    SysUser findByEmail(String email);

    /**
     * 根据手机号查询用户
     * @param phone 用户名
     * @return 用户信息
     */
    SysUser findByPhone(String phone);

    /**
     * 用户注册
     * @param user 用户信息
     * @return 是否注册成功
     */
    boolean register(SysUser user);

    /**
     * 获取当前登录用户信息
     * @return 登录用户信息
     */
    SysUser getLoginUserInfo();

    /**
     * 上传头像
     * @param file 头像文件
     * @return 是否上传成功
     */
    Result<?> uploadAvatar(MultipartFile file);

}
